Memory management for multi-threaded software DSM systems
نویسندگان
چکیده
When software distributed shared memory (SDSM) systems provide multithreading to exploit cluster of symmetric multiprocessors (SMPs), a challenge is how to preserve memory consistency in a thread-safe way, which is known as ‘‘atomic page update problem’’. In this paper, we show that this problem can be solved by creating two independent access paths to a physical page and by assigning different access permissions to them. Especially, we propose three new methods using System V shared memory inter-process communication (IPC), a new mdup() system call, and a fork() system call in addition to a known method using file mapping. The main contribution of this paper is to introduce various solutions to the atomic page update problem and to compare their characteristics extensively. Experiments carried out on a Linux-based cluster of SMPs and an IBM SP Night Hawk system show that the proposed methods overcome the drawbacks of the file mapping method such as high initialization cost and buffer cache flushing overhead. In particular, the method using a fork() system call preserves the whole address space to the application. 2003 Elsevier B.V. All rights reserved.
منابع مشابه
Basic System-Level Software for a Single-Core MERASA Processor
In the EC FP-7 MERASA project a hard real-time capable multi-core processor is developed. The system-level software represents an abstraction layer between application software and embedded hardware. It has to provide basic functions of a real-time operating system. This report presents requirements for a multi-threaded hard real-time capable system-level software in embedded systems and the tr...
متن کاملA False-Sharing Free Distributed Shared Memory Management Scheme
Distributed shared memory (DSM) systems on top of network of workstations are especially vulnerable to the impact of false sharing because of their higher memory transaction overheads and thus higher false sharing penalties. In this paper we develop a dynamic-granularity shared memory management scheme that eliminates false sharing without sacrificing the transparency to conventional shared-mem...
متن کاملImplications of Execution Threads for Multi-User Multiprocessors
Threads, a form of light weight processes, promise a standardised technique for implementing parallel execution on shared memory multiprocessors. Delivery of this promise is hindered by common architectural and system software features, many of which derive from traditional sequential machines. This paper characterises some of the hardware and software issues which need to be addressed in the p...
متن کاملAn Experimental Evaluation of Software Distributed Shared Memory Environments
Software Distributed Shared Memory (DSM) Environments have recently been shown to be capable of providing very good performances on distributed memory machines, while providing a conceptually simple programming interface. This paper presents our experiences while evaluating some publicly available DSMs using some of the core routines from the SPLASH-2 benchmark suite. We address some subjective...
متن کاملParallel and Distributed Programming with Pthreads and Rthreads
This paper describes Rthreads (Remote threads), a software distributed shared memory system that supports sharing of global variables on clusters of computers with physically distributed memory. Other DSM systems either use virtual memory to implement coherence on networks of workstations or require programmers to adopt a special programming model. Rthreads uses primitives to read and write rem...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Parallel Computing
دوره 30 شماره
صفحات -
تاریخ انتشار 2004